<?php

 /**
  * @package JooS
  * @subpackage Syntax_PHPackager
  */

  require_once "JooS/Syntax/Complex/Transition.php";

 /**
  * Variable_Direction ::= [ "/" | { "../" } ];
  **/
  class JooS_Syntax_PHPackager_Variable_Direction extends JooS_Syntax_Complex_Transition {
    const VARIABLE_BACK = "..";

    /**
     * @return JooS_Syntax_Complex_Repetition
     */
    public function createRule() {
      require_once "JooS/Namespace.php";

      $parser = $this->getParser();
      
      return $parser->createSyntax("Complex_Repetition", $parser->createSyntax("Complex_Choose", array(
        $parser->createSyntax("Simple_Symbol", JooS_Namespace::DELIMITER),
        $parser->createSyntax("Complex_Repetition", $parser->createSyntax("Simple_Symbol", self::VARIABLE_BACK . JooS_Namespace::DELIMITER))
      )), 1);
    }
  }
